package main

import "fmt"

func main() {

	// 方法一：零值初始化
	var arr1 [5]int
	fmt.Println("arr1 (zero value):", arr1) //arr1 (zero value): [0 0 0 0 0]

	var arr2 = [5]int{1, 2, 3, 4, 5}
	fmt.Println("arr2:", arr2)

	arr3 := [5]int{1, 2, 3, 4, 5}
	fmt.Println("arr3:", arr3)

	arr4 := [...]int{1, 2, 3, 4, 5, 6}
	fmt.Println("arr4:", arr4)
	fmt.Println("arr4.len:", len(arr4))

	// 方法四：索引初始化器 (Index Initializer)
	// 可以只初始化特定索引的元素，未指定的索引依然是零值
	arr5 := [5]int{0: 3, 1: 5, 4: 6}
	fmt.Println("arr5:", arr5)

	// 部分初始化
	arr6 := [5]int{1, 2}
	fmt.Println("arr6:", arr6)
}
